# $Id: PKGBUILD 168736 2012-10-15 05:13:56Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>

pkgname=pam
pkgver=1.1.6
pkgrel=1
pkgdesc="PAM (Pluggable Authentication Modules) library (no selinux & nis)"
arch=('i686' 'x86_64' sh4)
license=('GPL2')
url="http://www.kernel.org/pub/linux/libs/pam/"
depends=('glibc' 'db' 'cracklib' 'libtirpc' 'pambase')
makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl')
backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/default/passwd etc/environment)
source=(https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-$pkgver.tar.bz2
        #http://www.kernel.org/pub/linux/libs/pam/library/Linux-PAM-$pkgver.tar.bz2
        ftp://ftp.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2
        pam_unix2-glibc216.patch
        pam_namespace-build-1.1.6.patch)
options=('!libtool' '!emptydirs')
md5sums=('7b73e58b7ce79ffa321d408de06db2c4'
         'da6a46e5f8cd3eaa7cbc4fc3a7e2b555'
         'dac109f68e04a4df37575fda6001ea17'
         '440a510164ba5eb69bf41e129746ff44')

build() {
  cd $srcdir/Linux-PAM-$pkgver
  ./configure --libdir=/usr/lib --disable-selinux --disable-nis
  patch -Np0 -i ../pam_namespace-build-1.1.6.patch
  make

  cd $srcdir/pam_unix2-2.9.1
  patch -Np1 -i ../pam_unix2-glibc216.patch
  ./configure --libdir=/usr/lib --disable-selinux
  make
}

package() {
  cd $srcdir/Linux-PAM-$pkgver
  make DESTDIR=$pkgdir SCONFIGDIR=/etc/security install

  # build pam_unix2 module
  # source ftp://ftp.suse.com/pub/people/kukuk/pam/pam_unix2
  cd $srcdir/pam_unix2-2.9.1
  make DESTDIR=$pkgdir install

  # add the realtime permissions for audio users
  sed -i 's|# End of file||' $pkgdir/etc/security/limits.conf
  cat >>$pkgdir/etc/security/limits.conf <<_EOT
*               -       rtprio          0
*               -       nice            0
@audio          -       rtprio          65
@audio          -       nice           -10
@audio          -       memlock         40000
_EOT

  # fix some missing symlinks from old pam for compatibility
  cd $pkgdir/usr/lib/security
  ln -s pam_unix.so pam_unix_acct.so
  ln -s pam_unix.so pam_unix_auth.so
  ln -s pam_unix.so pam_unix_passwd.so
  ln -s pam_unix.so pam_unix_session.so

  # set unix_chkpwd uid
  chmod +s $pkgdir/sbin/unix_chkpwd
}
